This disclosure relates in general to downloading content and, more specifically, but not by way of limitation, to downloading digital content from the Internet.
Today, files are typically downloaded using Hyper Text Transfer Protocol (HTTP). An origin server initiates the download after a file is requested. A requested file is sequentially sent in packets to the client computer upon request. Where packets do not arrive at the client computer, they are requested again from the origin server. The origin server presumes the downloaded file has been successfully sent after the client computer stops requesting packets. The client computer stops requesting packets after enough packets are received to equal the file size.
In many cases, the file is not actually stored to the client computer in a usable form. For example, the client computer could crash before it could request a corrupt packet, a virus could attach to the file, an error could occur when writing the file to the hard drive and/or other problems that prevent the client computer from using the file. When users are unable to use a downloaded file, they may contact the operator of the origin server to get authorized to download another copy of the file.
In the appended figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.